home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple II Magazines (DO)
/
Nibble Volume 09, No. 09 (1988-09)(MicroSPARC)(Side B).zip
/
Nibble Volume 09, No. 09 (1988-09)(MicroSPARC)(Side B).do
/
SOUND.S
< prev
next >
Wrap
Text File
|
1996-12-24
|
2KB
|
86 lines
*
* SOUND Source Code
* by Jim Richardson
* Copyright(c) 1988
* MicroSPARC, Inc.
* Concord, MA 01742
*
PDIST EQU $06
PITCH1 EQU $07
PITCH2 EQU $08
LENGTH EQU $09
PITCHA EQU $1A
PITCHB EQU $1B
LENGTHA EQU $1C
PLUCK EQU $1E
*
SPKR EQU $C030
*
ORG $300
*******************************************************
*Program is completely relocatable. Parameters never
*move, are always at ADDRs $06-$09. If you relocate
*program, you will need to recalculate entry points.
*Zero page ADDRs $FA-$FF and STACK are available for
*modifications. SOUND scrambles A,X,and Y registers.
*******************************************************
*************************
*SETUP FOR DUET
*************************
DUET LDA PITCH1 ;Places PITCH1 in PITCH2
STA PITCH2 ;and adds one to it so
INC PITCH2 ;ratio is always N:N+1
*************************
*SETUP FOR SOUND
*************************
SOUND LDA LENGTH
STA LENGTHA
INC LENGTHA ;INC needed because DEC
* ;done before BNE in 74 & 87
LDA PITCH1
BEQ REST ;If PITCH1=0 goto REST
STA PITCHA
LDA PITCH2
ADC PDIST ;Add PITCH2 + PDIST
STA PITCHB
CLC ;In case of overflow
LDA #$00
STA PLUCK ;FLAG. 0=no PLUCK,>0 PLUCK
TAX
*************************
*SOUND PRODUCING RTN
*************************
VOICE1 DEC PITCHA
BNE VOICE2
INC PLUCK ;SPKR FLAG >0. SPKR plucks
LDA PITCH1
STA PITCHA ;Restore original pitch
VOICE2 DEC PITCHB
BNE TOGGLE
INC PLUCK ;SPKR FLAG >0. SPKR plucks
LDA PITCH2
STA PITCHB ;Restore original pitch
TOGGLE LDA PLUCK
BEQ WAIT ;If PLUCK=0 goto WAIT
STA SPKR ;Plucks SPKR twice
LDA #$00
STA PLUCK ;Restore Pluck to zero
WAIT DEX
BNE VOICE1
DEC LENGTHA
BNE VOICE1
RTS
*************************
*REST ROUTINE
*************************
REST LDX #$07 ;Waste aprox. same amount
DELAYHI DEX ;of time as it takes 2
LDY #$DD ;median pitches to go
DELAYLO DEY ;thru Sound Producing
BNE DELAYLO ;Rtn.
CPX #$01
BCS DELAYHI
DEC LENGTHA
BNE REST
RTS